package Work.stringWork1;

import java.util.Scanner;

/*
* 1、使用String提取字符串，从控制台输入一个邮箱，验证邮箱是否是合法的？
    注：合法的邮箱格式是XXX@XX.com
    要求：	1)	要求邮箱必须要包含@符合和 . 符号
    2)	邮箱的@和.符号不能在第一个位置，且@和.符号不能在最后一个
    3)	邮箱的@符号必须在.之前，且@符号和.符号中间至少要有一个字符。
*
* */
public class StringEmail {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String email;
        //标记email格式是否正确，false表示不正确，true表示正确。
        boolean isEmailCorrect = false;
        System.out.println("请输入邮箱（格式为：XXX@XX.com）：");
        email = input.next();

        //正确格式为：XXX@XX.com
        do {

            int atIndex = email.indexOf("@");
            int dotIndex = email.indexOf(".");
            if (atIndex != -1                            //判断是否包含@
                    && dotIndex != -1                    //判断是否包含 .
                    && (dotIndex > atIndex + 1)          //判断 . 的位置必须在 @ 的位置后面
                    && (atIndex + 1) != email.length()   //判断@是否在邮箱的最后一位
                    && (dotIndex + 1) != email.length()  //判断. 是否在邮箱的最后一位
                    && atIndex != 0                      //判断@是否在邮箱的第一位
                    && dotIndex != 0) {                  //判断. 是否在邮箱的第一位
                isEmailCorrect = true;
                System.out.println("输入正确！");
                break;

            } else {
                System.err.println("Email格式不正确！请重新输入！");
                email = input.next();

            }

        } while (true);


    }
}
